Comparison of file comparison tools

Contents

General

Basic general information about file comparison software.

Name Creator Software license Cost First public release date Year of latest stable version Windows Macintosh Linux Other platforms Used by[1] Max Supported File Size
Araxis Merge Araxis Ltd[2] Proprietary USD 129 (std) - 269 (pro) 1993 2010.3947 for Windows (2011-06-08); 2010.3907 for Mac OS X (2010-07-21) Yes Yes No No 503[3]
Beyond Compare Scooter Software[4] Proprietary USD 30 (std), 50 (pro) 1996 2011 (v3.3.3) Yes (Win95 and up) No Yes 4044[5]
Code Compare Devart Proprietary Free. Pro version USD 49.95 2010 2011 (v2.70) Yes No No 218[6]
Compare++ Coode Software[7] Proprietary USD 29.95 with free 30-day trial [8] 2010 2011 (v1.6) Yes[9] No No
diff, diff3 AT&T BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary - 1974 Yes Yes (Mac OS X) Yes ported to most platforms as part of SCCS > 2GB but less than 64 bits
Duplicate Annihilator Brattoo Propaganda Software[10] Proprietary USD 7.95 - 19.95, with a free demo 2010 2011 No Yes No
Eclipse Compare Eclipse EPL - 2004 Yes Yes (Mac OS X) Yes Anything with Java
Ediff Michael Kifer[11] GPL Free 1994 2.81.4 Yes Yes (Mac OS X) Yes Anything with Emacs
ExamDiff Pro PrestoSoft[12] Proprietary USD 35, with a free version available[13] 1998 2010 (v5.0.1.13) Yes (Win98 and up) No No 216[14]
fc Microsoft[15] Proprietary Part of OS 1987 Yes (DOS) No No
FileMerge Apple Inc. Proprietary Free (part of Apple Developer Tools) 2005 (v2.2.1) No Yes (Mac OS X) No
Guiffy SureMerge Guiffy Software[16] Proprietary USD 59 2000 2011 (v9.6) Yes Yes Yes Anything with Java
IntelliJ IDEA Compare JetBrains[17] Proprietary Part of application 2007 (v6.0.5) Yes Yes Yes
jEdit JDiff plugin Various[18] GPL Free 1998 1.9.0 Yes Yes Yes Anything with Java
Kompare Otto Bruggeman[19] GPL Free 2005-11-29 (v3.5.0) No Yes (Mac OS X) Yes
Lazarus Diff Lazarus (software) GPL - 2000 2009 Yes Yes Yes FreeBSD
Meld Stephen Kennedy[20] GPL - 2002 2011-3-20 (v1.5.1) Yes[21] Yes Yes BSD, Solaris
Perforce P4Merge Perforce Freeware[22] - 2009.2 Yes Yes Yes Sun Solaris
Tkdiff Tkdiff[23] GPL Free 2003 (or before) 2011-11-27 (v4.2) Yes (Tcl) Yes (Tcl) Yes (Tcl) Anything with Tcl
Total Commander Compare Christian Ghisler[24] Proprietary Part of application 2010-12-17 (v7.56a) Yes No No
vimdiff Bram Moolenaar et al. GPL-compatible - 2001 2006-05-07 (v7.0) Yes Yes Yes Anything with vim
WinDiff Microsoft[25] Proprietary (with source code) Part of Platform SDK 1992 2003 ? (v6.1) Yes No No No
WinMerge Dean Grimm[26] GPL Free 1998 2009-06-09 (v2.12.4) Yes (Win95 and up) No No 5212[27] 2 GiB
OOP-DIFF Schneider Soft[28] Proprietary Free 2010 2011 (v1.5.0) Yes (Win95 and up) No {mono .NET} No
UCC USC CSSE[29] USC-CSSE Limited Public License [30] Free 2009 2010-07 Yes Yes Yes {2.6.9} Sun Solaris

Compare Features

Name Show in-line changes Directory comparison Binary comparison Moved lines 3-way comparison Merge Structured comparison[31]
Araxis Merge Yes Yes Yes No Yes (Professional Edition only) Yes
Beyond Compare Yes Yes Yes No Yes Yes (Pro only)
Code Compare Yes Yes Yes Yes (Code Compare Pro only) Yes Yes (Code Compare Pro only)
Compare++ Yes Yes Yes Yes (C/C++,C#,Java,Javascript,CSS3)
diff No Yes partly No No No
diff3 No No Yes (non-optional)
Eclipse Compare Yes Yes Yes
Ediff Yes Yes Yes[32] Yes Yes
ExamDiff Pro Yes Yes Yes Yes[33] No Yes
fc No No Yes No No
FileMerge Yes Yes Yes Yes (optional ancestor) Yes
Guiffy SureMerge Yes Yes Yes Yes
IntelliJ IDEA Compare Yes Yes
jEdit JDiff plugin No Yes
Kompare Yes No No
Lazarus Diff
Meld Yes Yes No No Yes Yes
OOP-DIFF No Yes No No No No Yes
Perforce P4Merge Yes No No Yes Yes
Tkdiff Yes No No No No No
Total Commander Compare Yes Yes Yes No Yes
vimdiff Yes Yes (via DirDiff plugin) Yes
WinDiff Yes Yes No Yes No No
WinMerge Yes Yes Yes Yes No Yes
UCC Yes Yes Yes Yes No Yes
Name Show in-line changes Directory comparison Binary comparison Moved lines 3-way comparison Merge Structured comparison[34]

API / Editor Features

Name GUI CLI Scripting Horizontal / Vertical Syntax Highlighting Reports
Araxis Merge Yes Yes Yes both since Araxis Merge 2007 XML, HTML, Slideshow, diff
Beyond Compare Yes Yes Yes both Yes XML, HTML, CSV, Text, Unix Patch
Code Compare Yes Yes both Yes
Compare++ Yes Yes both Yes HTML, Text(combined or side-by-side)
diff No Yes horizontal
diff3 No Yes horizontal
Eclipse Compare Yes vertical Yes
Ediff Yes No both Yes
ExamDiff Pro Yes Yes optional Yes UNIX, HTML, Diff
fc No Yes horizontal
FileMerge Yes Yes vertical Yes No
Guiffy SureMerge Yes Yes both Yes HTML
IntelliJ IDEA Compare Yes vertical Yes
jEdit JDiff plugin Yes both Yes
Kompare Yes vertical No
Lazarus Diff Yes Yes
Meld Yes horizontal Yes No
Perforce P4Merge Yes Yes vertical No No
Tkdiff Yes
Total Commander Compare Yes optional
vimdiff Yes Yes vim script both Yes HTML
OOP-DIFF Yes Yes No both No No
WinDiff Yes Yes horizontal No
WinMerge Yes Yes vertical Yes CSV, Tab-delimited, HTML, XML
UCC Yes Yes vertical Yes Text, CSV
Name GUI CLI Scripting Horizontal / Vertical Syntax Highlighting Reports

Other features

Some other features which did not fit in previous table

Name ZIP support FTP support Version Control browsing Patch creation Patch application Patch preview Unicode support XML-aware
Araxis Merge No Yes Perforce[35], Subversion[36], Visual SourceSafe[37], AllChange[38] UNIX diff No No Yes[39] Partial[40]
Beyond Compare Yes Yes Yes[41] Yes No Yes
Code Compare Yes
Compare++ SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line Yes
diff No No No Yes No No Yes No
diff3 No No No
Ediff Yes Yes RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[42] Yes Yes Yes
ExamDiff Pro Yes[43] Yes[44] normal diff only Yes
fc No No No
FileMerge No supported by OS No No No
Guiffy SureMerge Yes Yes Yes[45]
jEdit Yes Yes Subversion Yes Yes Yes Yes
Kompare Yes
Lazarus Diff
Meld CVS, Subversion, Git Yes Yes
Perforce P4Merge No Yes
Tkdiff No No CVS, RCS, Subversion No No No No No
Total Commander Compare Yes Yes
vimdiff Yes Yes Yes Yes
WinDiff No No No No
WinMerge Yes No Mercurial[46], Subversion[47], Visual Source Safe, Rational ClearCase[48] Yes Yes
UCC Yes No Yes
Name ZIP support FTP support Version Control browsing Patch creation Patch application Patch preview Unicode support XML-aware

Aspects

What aspects can be / are compared?

Filename casing CRC Filedate Daylight saving Character casing
Araxis Merge Yes Yes Yes Yes
Beyond Compare Yes Yes Yes Yes Yes
Code Compare
Compare++ Yes Yes Yes
diff Yes No No No Optional
diff3
Eclipse Compare
Ediff
ExamDiff Pro No Yes Yes Yes Yes
fc No Optional
FileMerge No No No Optional
Guiffy SureMerge filesystem dependent Yes Yes
IntelliJ IDEA Compare
Kompare Yes
Lazarus Diff
Meld
Perforce P4Merge N/A No No No Yes
Tkdiff
Total Commander Compare Optional Optional
vimdiff No No No No Yes
WinDiff No No when different Yes Optional
WinMerge No No Optional Optional
UCC No No Yes No
Filename casing CRC Filedate Daylight saving Character casing

See also

References

  1. ^ Software.informer
  2. ^ Araxis Ltd
  3. ^ araxis-merge.software.informer.com
  4. ^ Scooter Software
  5. ^ beyond-compare.software.informer.com
  6. ^ devart-codecompare.software.informer.com
  7. ^ Coode Software
  8. ^ Coodesoft trial
  9. ^ Compare++ Operating system information
  10. ^ Brattoo Propaganda Software
  11. ^ Michael Kifer
  12. ^ PrestoSoft
  13. ^ ExamDiff Trial
  14. ^ examdiff-pro.software.informer.com
  15. ^ Microsoft
  16. ^ Guiffy Software
  17. ^ JetBrains
  18. ^ jedit.org
  19. ^ Otto Bruggeman
  20. ^ Stephen Kennedy
  21. ^ Meld/Windows
  22. ^ Perforce Free License
  23. ^ tkdiff
  24. ^ Christian Ghisler
  25. ^ Microsoft
  26. ^ Dean Grimm
  27. ^ winmerge.software.informer.com
  28. ^ Schneider Soft
  29. ^ USC CSSE
  30. ^ USC-CSSE Limited Public License
  31. ^ Compare logical sections (class, methods)
  32. ^ Ediff
  33. ^ Examdiff
  34. ^ Compare logical sections (class, methods)
  35. ^ Araxis Merge's Perforce File System Plugin
  36. ^ Subversion Araxis Merge's File System Plugin
  37. ^ Araxis Merge's Visual SourceSafe File System Plugin
  38. ^ Araxis Merge's AllChange File System Plugin
  39. ^ exact support depends on operating system, windows or OSX
  40. ^ Merge doesn't implement any infoset-level XML diff, but it can reformat XML (and HTML) files to make comparisons easier. This reformatting is purely visual and doesn't alter the content of the files [1].
  41. ^ Using Beyond Compare with Version Control Systems
  42. ^ gnu.org Support-for-Version-Control
  43. ^ through a plug-in
  44. ^ through a plug-in
  45. ^ UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats
  46. ^ "tortoisehg / stable / wiki / FAQ —". Bitbucket.org. http://bitbucket.org/tortoisehg/stable/wiki/FAQ#how-can-i-use-winmerge-as-my-visual-diff-tool. Retrieved 2010-07-06. 
  47. ^ "Using WinMerge with other tools - WinMerge 2.12 Manual". Winmerge.org. http://winmerge.org/docs/manual/VersionControl.html. Retrieved 2010-07-06. 
  48. ^ "About". WinMerge. http://winmerge.org/about/. Retrieved 2010-07-06.